
/**********************************************************************************\
** 文件名称: led.c
** 创建人员: YCG
** 创建日期: 2019-04-18
** 文档描述:
** 版本代号: V0.1
** 版本说明: 初始版本
\********************************************************************************/
#include "led.h"

Led_t LedIndex[LED_NUM_MAX];  //LED灯数据存放列表
uint8_t LedNum = 0;           //灯的数量

/*******************************************************************************
** 函数名称: LedAdd
** 功能描述: 添加LED到控制列表
** 参数说明: yGPIO: [输入]      LED灯引脚端口
**			     yGPIO_Pin: [输入]  LED灯引脚序号
** 返回说明: LED灯数量
** 创建人员: YCG
** 创建日期: 2019-04-18
********************************************************************************/
uint8_t LedAdd(GPIO_TypeDef *yGPIO, uint16_t  yGPIO_Pin) {

    LedIndex[LedNum].GPIO = yGPIO;            //保存灯的引脚端口
    LedIndex[LedNum].GPIO_Pin = yGPIO_Pin;    //保存灯的引脚序号
    return ++LedNum;                          //返回灯的数量
}

/*******************************************************************************
** 函数名称: LedOn
** 功能描述: 打开LED
** 参数说明: yLed: [输入] LED灯的序号
** 返回说明: None
** 创建人员: YCG
** 创建日期: 2019-04-18
********************************************************************************/
void LedOn(uint8_t yLed) {
    LedIndex[yLed].GPIO->BSRR = (uint32_t)LedIndex[yLed].GPIO_Pin << 16U;  //LED引脚输出低电平
}

/*******************************************************************************
** 函数名称: LedOff
** 功能描述: 关闭LED
** 参数说明: yLed: [输入] LED灯的序号
** 返回说明: None
** 创建人员: YCG
** 创建日期: 2019-04-18
********************************************************************************/
void LedOff(uint8_t yLed) {
    LedIndex[yLed].GPIO->BSRR = (uint32_t)LedIndex[yLed].GPIO_Pin;  //LED引脚输出高电平
}

/*******************************************************************************
** 函数名称: LedToggle
** 功能描述: 翻转LED灯输出
** 参数说明: yLed: [输入] LED灯的序号
** 返回说明: None
** 创建人员: YCG
** 创建日期: 2019-04-20
********************************************************************************/
void LedToggle(uint8_t yLed) {
    HAL_GPIO_TogglePin(LedIndex[yLed].GPIO, LedIndex[yLed].GPIO_Pin); //LED引脚电平翻转
}
/********************************End of File************************************/

